// 方便日后扩展
const utils = {
  /**
   * 模拟 lodash 的 omit 方法
   * @param {*} obj
   * @param {*} keys
   * @returns
   */
  omit(obj, keys) {
    const newObj = { ...obj }
    for (const key of keys) {
      delete newObj[key]
    }
    return newObj
  },

  /**
   * 模拟 lodash 的 pick 方法
   * @param {Object} obj
   * @param {Array} keys
   * @returns
   */
  pick(obj, keys) {
    const newObj = {}
    for (const key of keys) {
      newObj[key] = obj[key]
    }
    return newObj
  },

  showLoading() {
    // 隐藏加载状态
    return wx.showLoading({ title: '正在加载...', mask: true })
  },

  hideLoading() {
    // 隐藏加载状态
    return wx.hideLoading()
  },

  /**
   * 普通的土司提示
   * @param {*} msg 消息文本
   */
  toast(msg = '网络繁忙，请稍后重试~') {
    wx.showToast({
      title: msg,
      mask: true,
      icon: 'none',
    })
  },

  /**
   * 成功的土司提示
   * @param {*} msg 消息文本
   */
  toastSucc(msg) {
    wx.showToast({
      title: msg,
      mask: true,
      icon: 'success',
    })
  },

  /**
   * 失败的土司提示
   * @param {*} msg 消息文本
   */
  toastFail(msg) {
    wx.showToast({
      title: msg,
      mask: true,
      icon: 'fail',
    })
  },
}

// 页面中想要是使用这个wx.utils，那必须这行代码要先执行生效吧
wx.utils = utils

// 统一的按需导出 的 出口
export { utils }

// 默认导出
export default utils
